Teaching Advanced Programming Concepts in Introductory Computing Courses: A Constructivism Based Approach

نویسنده

  • Kleanthis Thramboulidis
چکیده

 Teaching object-oriented programming in introductory computer courses is still an area not well understood by instructors and teachers. A new approach, quite different from the one used to teach the procedural paradigm, is required. We have developed and used for several years a teaching approach that is greatly influenced by constructivism, which stresses the importance of prior knowledge on top of which new knowledge is built. A real-life system was adopted, to exploit the prior knowledge that students have from every-day life. This perspective guided us in making a shift in focus from the algorithm-centered view to the software-engineering-centered view and more precisely to a design-first approach. We also recognized the need imposed by the complexity and the event driven nature of today’s applications, for improved techniques and mechanisms concerning exception handling, garbage collection and concurrency. In this paper we describe the constructivism-based approach that we use to teach exception handling and concurrency in introductory computer courses as well as our experience from using this approach. The first results of this approach are very promising. We found that students’ conceptions evolved during the course to the point that they were able to confront by the end of the course the requirements imposed by today’s demanding applications concerning the issues of exception handling and concurrency. Students found the course extremely challenging and the pass-fail ratio was improved considerably. Index Terms  Constructivism in education, teaching exception handling, teaching concurrency, semaphore.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Teaching Advanced Computing Concepts in Java: A Constructivism-based Approach

The belief that concurrent programming concepts are too difficult for the average programmer is one of the most important reasons for not covering concurrent programming in introductory computing courses, although much needed last years. In this paper, an approach, used to teach advanced computing concepts and especially concurrency and exception handling in introductory computing courses, is p...

متن کامل

Teaching Software Engineers the Basics of Reconfigurable Computing

From past experiences, it has been difficult to teach the concepts of hardware design to software engineering students. This is primarily because from their introductory courses in programming, they are taught to think sequentially; which contradicts how hardware engineer’s think. This paper presents an approach that has been used for teaching reconfigurable computing techniques to advanced und...

متن کامل

Introductory programming by collaborative method “pair programming”

Learning programming skills and algorithmic way of thinking is a difficult task, particularly in the introductory programming courses. Many students find programming difficult because traditional teaching methods do not adapt well to the process of coding and problem solving, as it is a skill best learned through experience. In the paper we present an application of “pair programming”. It belon...

متن کامل

Some "Secure Programming" Exercises for an Introductory Programming Class

Ideally, computer security should be an integral part of all programming courses. Beginning programming classes pose a particular challenge, because the students are learning basic concepts of programming. Thus, teaching them about buffer overflows as security problems, requiring an explanation of concepts such as ―smashing the stack,‖ will confuse students more than motivate them to check arra...

متن کامل

An Experience on Applying Software Testing for Teaching Introductory Programming Courses

Previous work has demonstrated that the use of software testing concepts for teaching introductory programming courses may be a good practice for the students. Indeed, these courses provide limited opportunities for the teacher regarding dynamic activities that could help students in the learning process. This paper describes an approach in which test sets are reused in the context of teaching ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003